package com.wj.dao;

import java.util.List;

import com.wj.bean.Car;
import com.wj.bean.OrderList;
import com.wj.bean.Orders;
import com.wj.bean.Room;
import com.wj.bean.User;

public interface DAO {

	List<User> queryUser();
	/*
	 * 添加用户信息
	*/
	void addUser(User u);
	/*
	 * 查询所有用户信息
	*/
	List<User> listAllSearch(String search, int offset, int limit);
	/*
	 * 得到所有用户信息总条数
	*/
	int getTotal();
	/*
	 * 查询单个用户信息
	*/
	User queryOneUser(String name, String pass);
	/*
	 * 删除单个用户信息
	*/
	boolean removeUserById(int u_id);
	/*
	 * 删除多个用户信息
	*/
	int removeAllUser(List<String> list);
	/*
	 * 查询所有房间信息
	*/
	List<Room> listAllRoom(String search, int offset, int limit);
	/*
	 * 得到所有房间信息条数
	*/
	int getRoomTotal();
	/*
	 * 修改用户信息
	*/
	boolean updUserById(User u);
	/*
	 *管理员修改房间价格 
	*/
	int updRoomByType(String r_type, int r_price);
	/*
	 *查询房间号码列表 
	*/
	List<String> queryRoomByType(String type);
	/*
	 *查询房间价格 
	*/
	int queryRoomByTypeToPrice(String type);
	/*
	 *查询房间ID 
	*/
	int queRoomByNumForId(String r_num);
	/*
	 *修改房间状态 
	*/
	boolean updRoomByNum(String r_num);
	/*
	 *添加订单 
	*/
	boolean addRoomOrder(Orders o);
	/*
	 *查询订单列表 
	*/
	List<OrderList> listAllOrder(String search, int offset, int limit);
	/*
	 *查询订单总条数
	*/
	int getOrderTotal();
	/*
	 *删除单个订单
	*/
	boolean removeOrderById(int o_id);
	/*
	 * 删除多个所选订单
	*/
	int removeAllOrder(List<String> list);
	/*
	 * 查询指定房间号码的房间ID
	*/
	int queryRoomByNum(String r_num);
	/*
	 * 修改订单信息
	*/
	boolean updOrder(int o_id, int r_id, String o_date, int o_days);
	/*
	 * 查询车库信息
	*/
	List<Car> listAllCar();
	/*
	 * 预订车位
	*/
	int updCarOrder(List<String> c_idlist, String u_id);
	/*
	 * 通过UID查询订单
	*/
	List<Orders> queryOrderByUid(String u_id);
	/*
	 * 查询预订车位列表
	*/
	List<Car> listAllOrderCarBack(String search, int offset, int limit);
	/*
	 * 查询预订车位总数
	*/
	int getOrderCarTotal();
	/*
	 * 查询车位列表
	*/
	List<Car> listAllCarBack(String search, int offset, int limit);
	/*
	 * 查询车位总数
	*/
	int getCarTotal();
	/*
	 *删除单个车位订单
	*/
	boolean removeCarById(int c_id);
	/*
	 * 删除多个所选车位订单
	*/
	int removeAllCar(List<String> list);
}
